export function validatorLoginPwd(rule, value, callback) {
  const lengthcheck = value.length >= 8 && value.length <= 16
  const hasScopeChars = /^[0-9a-zA-Z!@#$%^&*()_+\-=.]+$/.test(value)
  const hasUpper = /[A-Z]/.test(value)
  const hasLower = /[a-z]/.test(value)
  const hasDigit = /\d/.test(value)
  const charArr = ['!', '@', '#', '$', '%', '^', '&', '*', '_', '+', '-', '=', '.']
  let isHaveChar = false
  for (let i = 0; i < value.length; i++) {
    isHaveChar = charArr.includes(value[i])
    if (isHaveChar) {
      break
    }
  }
  const charTypesCount = Number(hasUpper) + Number(hasLower) + Number(hasDigit) + Number(isHaveChar)
  // 密码必须不含中文，并且至少包含三种字符类型（大写、小写、数字、允许的特殊字符）
  if (lengthcheck && hasScopeChars && charTypesCount >= 3) {
    callback()
  } else {
    callback(new Error('请输入8-16位 大写字母 + 小写字母 + 数字 + 字符 任意三种组合！字符仅包含(!、@、#、$、%、^、&、*、_、+、-、=、.)'))
  }
}